Loop Optimization in Managed Code Environments with Expressions Evaluated Only Once

نویسندگان

  • ADAM PIÓRKOWSKI
  • MAREK ŻUPNIK
چکیده

This paper is concerned with optimizing code execution in virtual machine environments. Code motion is one of the many optimization techniques. We considered a special case of optimization – a loop containing expressions that can be effectively evaluated once. A solution for this case is discussed and two algorithms are proposed. Experimental results for Java VM, MS .NET and Mono are shown here in order to assess the performance of the proposed algorithms.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Portable Compilation of Vector Expressions for Architectures with Memory Hierarchy

The paper presents a scheme of code generation for vector expressions implemented in the CC] compiler (CC] is a vector ANSI C superset aimed at vector and superscalar architectures). The scheme is based on two well-known optimization techniques { loop invariant code motion and iteration space tiling. The problem of nding the optimal tile size for the imperfectly nested loop system implementing ...

متن کامل

Loop-Carried Code Placement

Traditional code optimization techniques treat loops as nonpredictable structures and do not consider expressions containing array accesses for optimization. We show that the polyhedron model can be used to implement code placement techniques that exploit equalities of expressions that hold between loop iterations. We also present preliminary results for a simple example.

متن کامل

Transformation to Dynamic Single Assignment Using a Simple Data Flow Analysis

This paper presents a novel method to construct a dynamic single assignment (DSA) form of array-intensive, pointer-free C programs (or in any other procedural language). A program in DSA form does not perform any destructive update of scalars and array elements, i.e., each element is written at most once. As DSA makes the dependencies between variable references explicit, it facilitates complex...

متن کامل

The StarJIT Compiler: A Dynamic Compiler for Managed Runtime Environments

Dynamic compilers (or Just-in-Time [JIT] compilers) are a key component of managed runtime environments. This paper describes the design and implementation of the StarJIT compiler, a dynamic compiler for Java Virtual Machines and Common Language Runtime platforms. The goal of the StarJIT compiler is to build an infrastructure to research the influence of managed runtime environments on Intel ar...

متن کامل

Adapting Fourier-Motzkin Elimination to Compute Bounds in Multilevel Tiling

This work focuses on the complexity of computing exact loop bounds in Multilevel Tiling. Conventional tiling techniques implement tiling using first strip-mining and afterwards loop interchange. Multilevel tiling has typically been implemented applying tiling level by level. We present a new way to implement Multilevel Tiling that deals with all levels simultaneously, performing a loop intercha...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2011